package com.zhangtai.modules.entity.employee;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;


/**
 *
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-12-07 15:29:22
 */
@Data
@TableName("tb_employee_overwork")
public class EmployeeOverworkEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 删除标识符 0未删除 1已删除
     */
    private Integer isDelete;
    /**
     * 申请时间
     */
    @ApiModelProperty("申请时间")
    private Date createTime;
    /**
     * 申请人id
     */
    @ApiModelProperty("申请人工号")
    private String oprationId;
    /**
     * 申请人姓名
     */
    @ApiModelProperty("申请人姓名")
    private String oprationName;
    /**
     * 公司id
     */
    @ApiModelProperty("公司id")
    private Long corpId;

    /**
     * 人员id
     */
    private Long oid;
    /**
     * 部门id
     */
    @ApiModelProperty("部门id")
    private Long orgId;
    /**
     * 岗位id
     */
    @ApiModelProperty("岗位id")
    private Long jobId;
    /**
     * 职级id
     */
    @ApiModelProperty("职级id")
    private Long levelId;
    /**
     * 公司名称
     */
    @ApiModelProperty("公司名称")
    private String corpName;
    /**
     * 部门名称
     */
    @ApiModelProperty("部门名称")
    private String orgName;
    /**
     * 岗位名称
     */
    @ApiModelProperty("岗位名称 ")
    private String jobName;
    /**
     * 职级名称
     */
    @ApiModelProperty("职级名称")
    private String levelName;
    /**
     * 加班类型 0工作日加班  1周末加班  2节假日加班
     */
    @ApiModelProperty("加班类型 0工作日加班  1周末加班  2节假日加班")
    private Integer overworkType;
    /**
     * 加班开始时间
     */
    @ApiModelProperty("加班开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date overworkBeginTime;
    /**
     * 加班结束时间
     */
    @ApiModelProperty("加班结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date overworkEndTime;
    /**
     * 加班时长  单位天
     */
    @ApiModelProperty("加班时长")
    private BigDecimal overworkTotalTime;
    /**
     * 审批状态1待发起 2审批中 3审批通过 4审批拒绝
     */
    @ApiModelProperty("审批状态")
    private Integer satus;
    /**
     * 上传附件
     */
    @ApiModelProperty("上传附件")
    private String uploadFile;
    /**
     * 加班说明
     */
    @ApiModelProperty("加班说明")
    private String overworkRemark;

}

